package com.munhrasoft.webloja.beans;

import java.util.List;

import javax.ejb.Stateless;
import javax.persistence.EntityManager;
import javax.persistence.PersistenceContext;
import javax.persistence.Query;
import com.munhrasoft.webloja.modelo.Produtos;
import com.munhrasoft.webloja.modelo.Vendedores;

@Stateless
public class ProdutosBean {
	
	@PersistenceContext(unitName="webloja-dbPU")
	EntityManager em;
	
	public void save(Produtos produto){
		Vendedores vendedor =  produto.getVendedorId();
		vendedor = em.find(Vendedores.class, vendedor.getVendedorId());
		em.merge(vendedor);
		produto.setVendedorId(vendedor);
		em.persist(produto);
	}
	
	public void update(Produtos produto){
		em.merge(produto);
	}
	
	public void delete(Produtos produto){
		produto = load(produto.getProdutoId());
		em.remove(produto);
	}
	
	public Produtos load(Integer id){
        return em.find(Produtos.class, id);
    }
	
	@SuppressWarnings("unchecked")
	public List<Produtos> listarTodos(){
    	Query query = em.createQuery("select p from Produtos p ");
    	return query.getResultList();
    }
	
	public List<Produtos> listarTodosPorVendedor(int vendedorId){
		Query query = em.createQuery("select v from Vendedores v " +
				"where v.vendedorId = :vendedorId");
		query.setParameter("vendedorId",vendedorId);
		return ((Vendedores)query.getResultList().get(0)).getProdutos();
	}

}
